1. Technical Field
This application generally relates to computer systems, and more particularly to computer system performance.
2. Description of Related Art
Computer systems may include different resources that may be used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as the Symmetrix(trademark) family of data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more host processors and provide storage services to each host processor. An example data storage system may include one or more data storage devices, such as those of the Symmetrix(trademark) family, that are connected together and may be used to provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations, such as data read and write operations and also administrative tasks, such as data backup and mirroring operations. In connection with the I/O operations, a data storage system may include a data storage optimizer used in connection with improving device performance. The data storage optimizer may perform a variety of tasks, for example, determining what logical volumes (LVs) may be candidates for swapping to increase performance of the data storage system in accordance with one or more predetermined criteria. A xe2x80x9cswap planxe2x80x9d, as may be produced by a data storage optimizer, may identify one or more pairs of LVs having data included therein to be swapped. It should be noted that the LVs and their data may be swapped in accordance with the swap plan.
Generally, pairs of LV candidates may be identified using different techniques, which when the LVs of pair are exchanged, are expected to contribute to the reduction of any imbalance of load requirements for a plurality of physical disk storage devices. These different techniques may determine pairs of LV candidates in accordance with a variety of statistics and device-related characteristics, such as, for example, LV size, and device activity.
It may be desirable that this technique be efficient in determining pairs of candidates to minimize computer resources that may be used in calculations, for example, and statistics gathering processes to determine an activity level associated with each LV. Additionally, it may be desirable to use criteria to determine pairs of LV candidates such that, when swapped, will have a tendency to increase system performance for a predetermined period of time. In other words, it may be desirable to determine pairs of candidates using criteria that has a degree of reliability in predicting that subsequent system performance will be increased for a time period when using, for example, statistics gathered in connection with past activity level.
Thus, it may be advantageous to load balance servicing of host requests by determining pairs of LV candidates using an efficient technique in accordance with criteria that will provide for increased system performance.
In accordance with principles of the invention is a method for execution in a computer system for determining a pair of exchangeable logical volumes. A first logical volume is determined as an active logical volume by incrementally examining various portions of a list of logical volumes sorted in accordance with performance data. A second logical volume is determined as an inactive volume by incrementally examining various portions of a list of logical volumes sorted in accordance with performance data. The first and second logical volumes are exchanged.
In accordance with another aspect of the invention is a computer program product for determining a pair of exchangeable logical volumes. Machine executable code is included for determining a first logical volume as an active logical volume by incrementally examining various portions of a list of logical volumes sorted in accordance with performance data. Machine executable code is included for determining a second logical volume as an inactive volume by incrementally examining various portions of a list of logical volumes sorted in accordance with performance data. The computer program product also includes machine executable code for exchanging the first and second logical volumes.
In accordance with yet another aspect of the invention is a method executed in a computer system for determining a pair of exchangeable logical volumes. A first logical volume is determined as an active logical volume by incrementally examining various portions of a list of logical volumes sorted in accordance with a first set of performance data. The first set of performance data includes correlation activity between logical volumes residing on a same disk. A second logical volume is determined as an inactive logical volume by incrementally examining various portions of a list of logical volumes sorted in accordance with a second set of performance data. The second set of performance data including low activity criteria in which activity of a logical volume is compared to a predetermined threshold of activity level. The first and said second logical volumes are exchanged.
In accordance with another aspect of the invention is a method for determining a pair of exchangeable logical volumes. A first logical volume is determined as an active logical volume by examining a list of logical volumes sorted in accordance with a first set of performance data. The first set of performance data includes correlation activity between logical volumes residing on a same disk. A second logical volume is determined as an inactive logical volume by examining a list of logical volumes sorted in accordance with a second set of performance data. The first and second logical volumes are exchanged.
In accordance with another aspect of the invention is a method executed in a computer system for determining a pair of exchangeable logical volumes. A first logical volume is determined as an active logical volume by examining a list of logical volumes sorted in accordance with a first set of performance data. A second logical volume is determined as an inactive logical volume by examining a list of logical volumes sorted in accordance with a second set of performance data. The second set of performance data including low activity criteria in which activity of a logical volume is compared to a predetermined threshold of activity level. The first and the second logical volumes are exchanged.
In accordance with another aspect of the invention is a computer program product for determining a pair of exchangeable logical volumes that includes machine executable code for determining a first logical volume as an active logical volume by incrementally examining various portions of a list of logical volumes sorted in accordance with a first set of performance data. The first set of performance data including correlation activity between logical volumes residing on a same disk. Also included is machine executable code for determining a second logical volume as an inactive logical volume by incrementally examining various portions of a list of logical volumes sorted in accordance with a second set of performance data. The second set of performance data including low activity criteria in which activity of a logical volume is compared to a predetermined threshold of activity level. Machine executable code is also included for exchanging said first and said second logical volumes.
In accordance with yet another aspect of the invention is a computer program product for determining a pair of exchangeable logical volumes that includes machine executable code for determining a first logical volume as an active logical volume by examining a list of logical volumes sorted in accordance with a first set of performance data. The first set of performance data including correlation activity between logical volumes residing on a same disk. Also included is machine executable code for determining a second logical volume as an inactive logical volume by examining a list of logical volumes sorted in accordance with a second set of performance data, the second set of performance data including low activity criteria in which activity of a logical volume is compared to a predetermined threshold of activity level, and machine executable code for exchanging said first and said second logical volumes.